package cn.zzz.openplatform.amap.model.convert;

import cn.zzz.openplatform.amap.constant.AmapUrlConstant;
import cn.zzz.openplatform.amap.model.AmapOpenApiRequest;
import lombok.*;

/**
 * 坐标转换请求参数
 * <a href="https://restapi.amap.com/v3/assistant/coordinate/convert">接口文档</a>
 */
@EqualsAndHashCode(callSuper = true)
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class AmapCoordinateConvertRequest extends AmapOpenApiRequest<AmapCoordinateConvertResponse> {
    /**
     * 请求服务权限标识
     * 用户在高德地图官网申请Web服务API类型KEY
     * 必填：是
     */
    private String key;

    /**
     * 坐标点
     * 经度和纬度用","分割，经度在前，纬度在后，小数点后不超过6位
     * 多个坐标对用"|"分隔，最多支持40对
     * 必填：是
     */
    private String locations;

    /**
     * 原坐标系
     * 可选值：gps/mapbar/baidu/autonavi(不进行转换)
     * 默认值：autonavi
     * 必填：否
     */
    private String coordsys;

    /**
     * 数字签名
     * 选择数字签名认证的付费用户必填
     * 必填：否
     */
    private String sig;

    /**
     * 返回数据格式
     * 可选值：JSON/XML
     * 默认值：JSON
     */
    private String output = "json";

    @Override
    public Class<AmapCoordinateConvertResponse> getResponseClass() {
        return AmapCoordinateConvertResponse.class;
    }

    @Override
    public String getUrl() {
        return AmapUrlConstant.COORDINATE_CONVERT_URL;
    }
}